<!-- 头部部分 -->
<template>
  <div class="header">
    <!-- 标题 -->
    <h2 class="music-title">音乐盒</h2>
    <!-- 搜索框 -->
    <div class="music-search">
      <!-- 1. v-model绑定input的值 -->
      <input type="text" v-model="inputVal" @keydown.enter="handleSave" />
    </div>
  </div>
</template>

<script>
//这里可以导入其他文件（比如：组件，工具js，第三方插件js，json文件，图片文件等等）
//例如：import 《组件名称》 from '《组件路径》';

export default {
  //import引入的组件需要注入到对象中才能使用
  components: {},
  data() {
    //这里存放数据
    return {
      inputVal: "",
    };
  },
  //监听属性 类似于data概念
  computed: {},
  //监控data中的数据变化
  watch: {},
  //方法集合
  methods: {
    //   2. 便规定input保存事件
    handleSave: async function () {
      if (!this.inputVal) {
        return false;
      } else {
        // console.log("请求发送");
        /* let res = await this.$http.get(
          "https://apimusic.linweiqin.com/search",
          {
            params: {
              keywords: this.inputVal,
            },
          }
        ); */
        let res = await this.$http.get("search", {
          params: {
            keywords: this.inputVal,
          },
        });
        // console.log(res);
        this.$emit("getlist",res.data.result.songs);
        this.$emit("getimgshow",true);
      }
    },
  },
  //生命周期 - 创建完成（可以访问当前this实例）
  created() {},
  //生命周期 - 挂载完成（可以访问DOM元素）
  mounted() {},
  beforeCreate() {}, //生命周期 - 创建之前
  beforeMount() {}, //生命周期 - 挂载之前
  beforeUpdate() {}, //生命周期 - 更新之前
  updated() {}, //生命周期 - 更新之后
  beforeDestroy() {}, //生命周期 - 销毁之前
  destroyed() {}, //生命周期 - 销毁完成
  activated() {}, //如果页面有keep-alive缓存功能，这个函数会触发
};
</script>
<style lang='less'  scoped>
.header {
  padding: 10px;
  line-height: 40px;
  .music-title {
    color: #fff;
    width: 280px;
    float: left;
  }

  .music-search {
    float: right;
    width: 500px;
    input {
      float: right;
      width: 400px;
      height: 40px;
      border: none;
      outline: none;
      text-indent: 15px;
      background-size: 30px 30px;
      background: url(../assets/images/search.jpg) 355px center no-repeat white;
      border-radius: 20px;
    }
  }
}
</style>